#pragma once
#include "txr_algo_dlm_cls_define.h"
#include <QLibrary>

namespace txr_algo_dlm_cls
{
	class TxrAlgoDlmClsImpl;
	
	class TXR_ALGO_DLM_CLS_EXPORT TxrAlgoDlmCls
	{
	public:
		TxrAlgoDlmCls();
		~TxrAlgoDlmCls();

		tk_bool Load(st_dlm_cfg & cfg);
		void Release();
		tk_bool IsVaild();
		tk_int32 BatchSize();

		void Detect(st_detect_unit * p_unit, tk_int32 size);

	private:
		DLM_TYPE GetDlmType(st_dlm_cfg & cfg);

	private:
		TxrAlgoDlmClsImpl * m_dlm_obj = TK_NULL_PTR;
		QLibrary * m_lib_dlm = TK_NULL_PTR;
	};

}//namespace txr_algo_dlm_cls

